902 research outputs found

    Évaluation des risques et de la complexité sur le contexte de la migration linguistique

    Get PDF
    International audienceLanguage Migration is a highly risky and complex process. Many authors have provided different ways to tackle down the problem, but it still not completely resolved, even-more it is considered almost impossible on many circumstances. Despite the approaches and solutions available, no work has been done on measuring the risks and complexity of a migration process based on the technological gap. In this article we contribute a first iteration on Language Migration complexity metrics, we apply and interpret metrics on an industrial project. We end the article with a discussion and proposing future works.La migration de langage est un processus hautement risqué et complexe. De nombreux auteurs ont proposé différentes manières d'aborder le problème, mais il n'est toujours pas complètement résolu, encore plus, il est considéré comme presque impossible dans de nombreuses circonstances. Malgré les approches et les solutions disponibles, aucun travail n'a été fait pour mesurer les risques et la complexité d'un processus de migration basé sur le décalage technologique. Dans cet article, nous contribuons à une première itération sur les métriques de complexité de la migration linguistique, nous appliquons et interprétons des métriques sur un projet industriel. Nous terminons l'article par une discussion et proposons des travaux futurs

    SmartInspect: Smart Contract Inspection Technical Report

    Get PDF
    Smart contracts are embedded procedures stored with the data they act upon. Debugging deployed Smart Contracts is a difficult task since once deployed, the code cannot be reexecuted and inspecting a simple attribute is not easily possible because data is encoded. In this technical report, we present SmartInspect to address the lack of inspectability of a deployed contract. Our solution analyses the contract state by using decompilation techniques and a mirror-based architecture to represent the object responsible for interpreting the contract state. SmartInspect allows developers and also end-users of a contract to better visualize and understand the contract stored state without needing to redeploy, nor develop any ad-hoc code

    Towards Scalable Blockchain Analysis

    Get PDF
    International audienceAnalysing the blockchain is becoming more and more relevant for detecting attacks and frauds on cryptocurrency exchanges and smart contract activations. However, this is a challenging task due to the continuous growth of the blockchain. For example, in early 2017 Ethereum was estimated to contain approximately 300GB of data [4], a number that keeps growing day after day. In order to analyse such ever-growing amount of data, this paper argues that blockchain analysis should be treated as a novel type of application for Big Data platforms. We also explore the application of parallelization techniques from the Big Data domain, in particular Map/Reduce, to extract and analyse information from the blockchain. We show that our approach significantly improves the index generation by 7.77 times, with a setup of 20 worker nodes, 1 Ethereum node and 1 Database node. We also share our findings of our massively parallel setup for querying Ethereum in terms of architecture and the bottlenecks. This should help researchers setup similar infrastructures for analysing the blockchain in the future

    Reporting Context Aware Partial Translation engine based on immediate and delayed Rule application

    Get PDF
    Language migration has been the driver of many efforts resulting in multiple solutions and strategies. One of the most popular approaches for dealing with it is source code translation: it proposes to translate the source code of an application to a target language. For doing so it leverages a set of translation rules based on the grammatical constructions provided by the source and target languages. However, we notice that even when most of the literature acknowledges translating implies migrating the runtime, libraries and the Software Development Kit (SDK), none of them proposes a systematic way to solve this problem. Along with this, we notice that there are many proposals to shift the paradigm from procedural to object-oriented programming based on how to propose classes automatically. But we found nothing on how to translate the expressions that use functions into expressions that use methods. In the context of migration from Microsoft Access (MS Access) to web technologies, these two lacks threaten seriously any attempt to produce even a compilable version of the code on the target technology. This article proposes a translation engine that split the translation process into two phases. A phase of language translation, and a phase of adaptation to the target environment. The first phase is in charge of producing declarations, and the second one is in charge of adapting the usage of this declaration to fit the translated version of our artefacts. We argue that enabling to adapt the code to fit the translated version of our artefacts allows the definition of simple adapting rules able to deal with a large share of both problems: (i) runtime, libraries and the Software Development Kit (SDK), and (ii) simple paradigm shift. This article presents some basic adapting rules and validates our approach by translating a battery of simple tests that feature the usage of a carefully chosen set of features

    Challenges for Layout Validation: Lessons Learned

    Get PDF
    International audienceCompanies are migrating their software systems. The migration process contemplates many steps, UI migration is one of them. To validate the UI migration, most existing approaches rely on visual structure (DOM) comparison. However, in previous work, we experimented such validation and reported that it is not sufficient to ensure a result that is equivalent or even identical to the visual structure of the interface to be migrated. Indeed, two similar DOM may be rendered completely differently. So, we decide to focus on the layout migration validation. We propose a first visual comparison approach for migrated layout validation and experiment it on an industrial case. Hence, from this first experiment and already existing studies on image comparison field, we highlight challenges for layout comparison. For each challenge, we propose possible solutions, and we detail the three main features we need to create a good layout validation approach

    Appendix To Software Migration: A Theoretical Framework A Grounded Theory approach on Systematic Literature Review

    Get PDF
    Software migration has been a research subject for a long time. Major research and industrial implementations have been conducted, shaping not only the techniques available nowadays, but also a good part of Software evolution jargon. To understand systematically the literature and grasp the major concepts is challenging and time consuming. Even more, research evolves, and it does based on the assumption that there is a single meaning that we all share redounding in the pollution of words with multiple and many times opposite meanings. In our quest to understand, share and contribute scientifically in this domain, we recognise this situation as a problem. To tackle down this problem we propose a taxonomy on the subject as a theoretical framework grounded on a systematic literature review. In this study we contribute a bottom-up taxonomy that links from the object of a migration t

    Analysing Microsoft Access Projects: Building a model in a Partially Observable Domain

    Get PDF
    International audienceDue to the technology evolution, every IT Company migrates their software systems at least once. Reengineering tools build system models which are used for running software analysis. These models are traditionally built from source code analysis and information accessible by data extractors (that we call such information observable). In this article we present the case of Microsoft Access projects and how this kind of project is partially observable due to proprietary storing formats. We propose a novel approach for building models that allows us to overcome this problem by reverse engineering the development environment runtime through the usage of Microsoft COM interface. We validate our approach and implementation by fully replicating 10 projects, 8 of them industrial, based only on our model information. We measure the repli-cation performance by measuring the errors during the process and completeness of the product. We measure the replication error, by tracking replication operations. We used the scope and completeness measure to enact this error. Completeness is measured by the instrumentation of a simple and scoped diff based on a third source of information. We present extensive results and interpretations. We discuss the threats to validity, the possibility of other approaches and the technological restrictions of our solution

    Alce: Predicting Software Migration

    Get PDF
    The constant apparition of new technologies challenging and disrupting the way to develop software pushes dayby-day software migration to become more and more common. Despite the "normality" of software migration, it is a problem that had ruined more than one company in the past. It is no wonder that different methods to migrate software have been the driver of many efforts and the centre of many discussions for years, resulting in multiple solutions and strategies to accomplish the desired migration. However, there is a lack of efforts on how software reengineering can be used to assess the process of planning by measuring and predicting the cost of a migration. In this article, we present Alce, a software migration assessment and prediction tool under development in the context of a collaboration with Berger-Levrault, for migrating Microsoft Access applications. We present a simple use case that represents most of the usages we had given to the tool during the analysis and reporting of two different applications to be migrated, to assess the extremely hard task of planning a software migration. We present as well a second use for task definition and prioritisation in the process of library migration. We discuss future features based on the interaction with one of the project managers, and finally, we discuss the lack of software reengineering tools usage in the context of software migration

    SmartAnvil: Open-Source Tool Suite for Smart Contract Analysis

    Get PDF
    International audienceSmart contracts are new computational units with special properties: they act as classes with aspectual concerns; their memory structure is more complex than mere objects; they are obscure in the sense that once deployed it is difficult to access their internal state; they reside in an append-only chain. There is a need to support the building of new generation tools to help developers. Such support should tackle several important aspects: (1) the static structure of the contract, (2) the object nature of published contracts, and (3) the overall data chain composed of blocks and transactions. In this chapter, we present SmartAnvil an open platform to build software analysis tools around smart contracts. We illustrate the general components and we focus on three important aspects: support for static analysis of Solidity smart contracts, deployed smart contract binary analysis through inspection, and blockchain navigation and querying. SmartAnvil is open-source and supports a bridge to the Moose data and software analysis platform
    • …
    corecore